package com.tcm.doctor.service;


import com.base.core.exception.ServiceException;
import com.base.core.pager.PageBean;
import com.tcm.doctor.domain.dto.DoctorVerifyDTO;
import com.tcm.doctor.domain.dto.DoctorVerifyLogDTO;
import org.springframework.transaction.annotation.Transactional;

public interface DoctorVerifyService {

    /**
     * 获得医生认证审核信息
     * @param userId
     * @return Doctor
     */

    DoctorVerifyDTO findByUserId(Long userId) throws ServiceException;



    /**
     * 保存医生认证审核信息
     * @param doctorVerifyDto
     */
    void save(DoctorVerifyDTO doctorVerifyDto) throws ServiceException;


    void verifyPass(DoctorVerifyLogDTO doctorVerifyLogDTO);

    @Transactional
    void verifyRefused(DoctorVerifyLogDTO doctorVerifyLogDTO);

    /**
     * 永久删除
     * @param id
     */
    void delete(Long id) throws ServiceException;

    /**
     * 删除到回收站
     * @param id
     */
    void deleteLogic(Long id) throws ServiceException;


    /**
     * 审核列表
     * @param offset
     * @param pagesize
     * @return
     */
    PageBean<DoctorVerifyDTO> listVerifyPageByStatus(Byte status, Long offset, Long pagesize) throws ServiceException;

    PageBean<DoctorVerifyDTO> listVerifyPage(Long start, Long pagesize);
}
